﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Input;

namespace PSE.Framework.UI.Controls.SmartClient
{
    /// <summary>
    /// Classe com comandos para controle de estado
    /// </summary>
    public class StateControlCommands
    {
        #region Construtor
        /// <summary>
        /// Construtor padrão
        /// </summary>
        protected StateControlCommands()
        {
        }
        #endregion

        private static RoutedUICommand _save = new RoutedUICommand(string.Empty, "Save", typeof(SelectionCommands));
        /// <summary>
        /// Comando que persiste a edição dos itens selecionados
        /// </summary>
        public static RoutedUICommand Save
        {
            get { return _save; }
        }

        private static RoutedUICommand _saveAll = new RoutedUICommand(string.Empty, "SaveAll", typeof(SelectionCommands));
        /// <summary>
        /// Comando que persiste a edição de todos os itens
        /// </summary>
        public static RoutedUICommand SaveAll
        {
            get { return _saveAll; }
        }

        private static RoutedUICommand _undo = new RoutedUICommand(string.Empty, "Undo", typeof(SelectionCommands));
        /// <summary>
        /// Comando que desfaz a edição dos itens selecionados
        /// </summary>
        public static RoutedUICommand Undo
        {
            get { return _undo; }
        }

        private static RoutedUICommand _undoLast = new RoutedUICommand(string.Empty, "UndoLast", typeof(SelectionCommands));
        /// <summary>
        /// Comando que desfaz última edição dos itens
        /// </summary>
        public static RoutedUICommand UndoLast
        {
            get { return _undoLast; }
        }

        private static RoutedUICommand _undoAll = new RoutedUICommand(string.Empty, "UndoAll", typeof(SelectionCommands));
        /// <summary>
        /// Comando que desfaz a edição de todos os itens
        /// </summary>
        public static RoutedUICommand UndoAll
        {
            get { return _undoAll; }
        }
    }
}
